

module('channel',package.seeall) 
--这个是渠道适配器

--渠道平台注销  
local tag_watingpad=1000033
function qdLogOff()
    local waitingPad=WaitingDialog:showWaiting('正在切换账号','切换账号的保护菊');
    waitingPad:setTag(tag_watingpad);
	c_qdLogOff();
end
function bindQdLogOff(isLogined)
  local logoff=nil;
  if isLogined then 
	logoff = function()   
		SceneManager:ins():backToLogin();
	end 
  else 
	logoff = function()   
		local layer=SceneManager:ins():getExitLayer()
		--移除切换账号的保护菊
		if layer then 
			layer:removeChildByTag(tag_watingpad, true); 
		end
		showQdLoginAction();
	end
  end
  c_bindQdLogOffFun(logoff);
end
--检测渠道平台上的游戏更新
function checkQdGameUpdate()
  local function callback() 
    require 'checkversion'   
	local function callback()  
		log.warning("main","WritePath: %s",getWritePath()) 
		GScheduler:create() 
		LoginControl:create():start()  
		require 'backorfore'
		backorfore.start();--开始监听前后台切换事件
	end 
	checkversion.Check(callback);
  end 
  c_checkQdGameUpdate(callback); 
end
--弹出渠道登录界面
function showQdLoginAction()
  c_showQdLoginAction();
end 
--绑定渠道验证
function bindQdCheck() 
  local function recvFromQd(...) 
    local arg = { ... };   
	local loginData = {
		["server_id"] = (gd_testmode == '') and SERVER_ID or 1,
		["player_id"] = 0, 
	} 
	local protocId=nil;
    --用sid去登录我们自己的服务器，走的类似自有登录流程，只不过把用户名和密码改成了sid 
    if gd_channel == 'PP' then     
		--参数说明1.sid 2.appid 3.appkey   
	    loginData["sid"] = arg[1];
		protocId=PP_LOGIN;
    elseif gd_channel == 'IPG' then  
      --参数说明1.uid,2.session,3.gameid,4.seckey 
    elseif gd_channel == 'HM' then  
      --海马的爱贝平台暂时不知道怎么解决登录验证问题
      --参数1.appid,2.appkey,3.userid,4.token,5.sign
       
    elseif gd_channel == 'KY' then
      --参数说明1.gamekey,2.session
      
    elseif gd_channel == 'XY' then 
      --参数说明1.uid,2.token,3.appid
       
    elseif gd_channel == 'TBT' then  
      --参数说明1.appid,2.userid,3.nickname,4.session 
       
    elseif gd_channel == 'IT' then  
      --参数说明1.appid,2.userid,3.nickname,4.session 
       
    elseif gd_channel == 'AS' then  
      --爱思是访问https，lua暂时做不了，所以在OC中解决，直接返回验证结果，无需在lua中验证登录
      --参数说明1.status,2.username,3.userid,4.appid,5.appkey
      
    elseif gd_channel == '91' then
      --参数说明1.appid,2.appkey,3.nickname,4.sessionid,5.uni
          
    end
	--如果是账号中心登录那么就不走登录 
	LoginControl.ins():startLogin(loginData,protocId);
  end
  --绑定渠道验证的方法
  c_bindQdCheckFun(recvFromQd);
end
--显示渠道用户中心
function showQdCenterAction() 
  c_showQdCenterAction();
end
--渠道付费
function pay(_userid,_orderid,_buyid,paycallback)
    local pricearr = {'25','60','30','198','648','6','30','98','198','328','648','1998'};
    local titlearr = {'300水晶月度礼包','至尊卡','300水晶','1980水晶','6480水晶','60水晶','300水晶','980水晶','1980水晶','3280水晶','6480水晶','20000水晶'};
    local inlayarr = {'30mcard','vipcard','300crystal','1980crystal','6480crystal','60crystal','300crystal','980crystal','1980crystal','3280crystal','6480crystal','20000crystal'};
	local appstoreid = 'com.9yu.' .. inlayarr[_buyid]; 
	local order=_userid .. '_' .. _buyid .. '_' .. os.time(); 
    if isChannel() then 
		c_pay(order,pricearr[_buyid],titlearr[_buyid],appstoreid,'',SERVER_ID,paycallback);    
	end
end